package cn.demo.d01;

import java.util.Scanner;

public class Demo01 {

    public static void main(String[] args) {
        test01();
        System.out.println("--------------------------------");
        test02();
        System.out.println("--------------------------------");
        test03();
        System.out.println("--------------------------------");
        test031();
        System.out.println("--------------------------------");
        test04();
        System.out.println("--------------------------------");
        test05();
    }

    /**
     身高是具有遗传性的，子女的身高和父母的身高有一定的关系。假定，父母和子女的身高遗传关系如下：
     儿子身高（厘米）＝(父亲身高＋母亲身高) ×1.08÷2
     女儿身高（厘米）＝(父亲身高×0.923＋母亲身高) ÷2
     现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少？
     * */
    public static void test01(){
        double fatherHeight = 177;
        double motherHeight = 165;
        double sonHeight = (fatherHeight + motherHeight) * 1.08 / 2;
        double daughterHeight = (fatherHeight * 0.923 + motherHeight) / 2;
        System.out.println("儿子的身高预计为：" + sonHeight + "厘米");
        System.out.println("女儿的身高预计为：" + daughterHeight + "厘米");
    }

    /**
     * 红茶妹妹有21元钱，她攒了几天钱之后自己的钱比原来的两倍还多三块。绿茶妹妹有24元钱，
     * 她攒了几天钱之后自己的钱正好是原来的两倍。那么红茶和绿茶现在的钱一样多，请问对么？
     */
    public static void test02(){
        int red = 21;
        int green = 24;
        red = red * 2 + 3;
        green *= 2;
        System.out.println(red == green);
    }

    /**
     某小伙想定一份外卖，商家的优惠方式如下：鱼香肉丝单点24元，油炸花生米单点8元，米饭单点3元。
     订单满30元8折优惠。鱼香肉丝优惠价16元，但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西，最少要花多少钱？
     * */
    public static void test03(){
        double price1 = (24+8)*0.8+3;
        double price2 = 16+8+3;
        double minPrice = price1>price2?price2:price1;
        System.out.println("price1: " + price1);
        System.out.println("price2: " + price2);
        System.out.println("小伙要点这三样东西，最少要花"+minPrice+"钱");
    }

    public static void test031(){
        //1.求不使用优惠时的总价
        double money1 = 24 + 8 + 3;
        //2.判断折后总价
        money1 = (money1 >= 30 ? money1 * 0.8 : money1);
        //3.求使用优惠时的总价
        double money2 = 16 + 8 + 3;
        //4.判断两种花费哪个更少
        double money = money1 < money2 ? money1 : money2;
        //5.打印最终花费
        System.out.println(money);
    }

    /**
     数字6是一个真正伟大的数字，键盘录入两个整数。
     如果其中一个为6，最终结果输出true。
     如果它们的和为6的倍数。最终结果输出true。
     其他情况都是false。
     * */
    public static void test04(){
        System.out.println("键盘录入两个整数");
        Scanner sc = new Scanner(System.in);
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        if (num1 == 6 || num2 == 6 || (num1 + num2) % 6 == 0){
            System.out.println(true);
            return;
        }
        System.out.println(false);
    }

    /**
     需求：
     键盘录入一个三位数，求这个三位数每一位的数字和。
     举例：
     键盘录入123。那么每一位数字相加为：1 + 2 + 3，和为：7。
     * */
    public static void test05(){
        System.out.println("键盘录入一个三位数，求这个三位数每一位的数字和。");
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int ge = num%10;
        int shi = num/10%10;
        int bai = num/100%10;
        System.out.println("三位数"+num+"每一位数字相加为："+(ge+shi+bai));
    }
}
